昨天,我們結束在利用MVC框架將資料新增進資料庫。
能將資料新增進資料庫也就表示註冊的功能已經完成囉!
(當然,關於註冊還有很多眉角等著我們去細細補足)
我們接著做登入的部分。
首先,我們到controller/User.php
底下,將login()
函式實作:
在打code前整理一下思緒,我們應該在這個login()裡面做些甚麼?
了解了我們應該要實作哪些功能後,再來開始撰寫程式碼
public function login()
{
$check_data = $this->user_model->login($this->input->post('username'));
if($check_data == ""){
echo "Unregister user.";
}
else{
if($check_data->password == $this->input->post('password')){
echo "Login Success!";
}
else{
echo "Password Error!";
}
}
}
利用$this->input->post來獲取帳號密碼,然後傳進
user_model.php
中的login()
。
當從資料庫撈回資料後,做密碼的驗證(其實就是簡單的if-else)。
接著,到user_model()
中新增函式login($username)
:
public function login($username)
{
$user_info = $this->db->where('username',$username)
->get('user')
->row();
return $user_info;
}
查詢資料庫的語法可以參考官方使用手冊,再依據需求做更動~
這裡的where('username',$username)
就是SQL中的WHERE username = $username
而row()
則回傳單筆陣列資料,如果超過一筆則只會回傳第一筆。
其實需要撰寫的程式碼都不多嘛,那就趕快來試試看能不能成功吧。
首先,一樣打開http://localhost/ci/index.php/ 並進入登入畫面。
昨天有新增一筆username = test, password = test的資料進資料庫,就用它來測試看看囉
按下送出。
看到成功的訊息了!!
接著試試看沒有註冊過的帳密,隨便輸入
按下送出。
看到了Unregister User.
那麼換試試看錯誤的密碼。
把剛剛的test帳號,密碼改為隨便輸入
按下送出。
便可以看到Password Error!的訊息。
如此,我們簡簡單單就做出了註冊登入的頁面囉:)
是不是比想像中的簡單呢